﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Thaire.Investment.Domains.Master
{
    public class MarkMarket
    {
        #region Properties
        // MARK_MARKET_ID
        public virtual int MarkMarketId { set; get; }
        // MARK_MARKET_BOND
        public virtual String MarkMarketBond { set; get; }
        // MARK_MARKET_COUPON
        public virtual decimal? MarkMarketCoupon { set; get; }
        // MARK_MARKET_MATURITY
        public virtual DateTime? MarkMarketMaturity { set; get; }
        // MARK_MARKET_TTM
        public virtual decimal? MarkMarketTtm { set; get; }
        // MARK_MARKET_TYPE
        public virtual String MarkMarketType { set; get; }
        // MARK_MARKET_COUPON_TYPE
        public virtual String MarkMarketCouponType { set; get; }
        // MARK_MARKET_TRIS
        public virtual String MarkMarketTris { set; get; }
        // MARK_MARKET_FITCH
        public virtual String MarkMarketFitch { set; get; }
        // MARK_MARKET_LAST_TRADE_DATE
        public virtual DateTime? MarkMarketLastTradeDate { set; get; }
        // MARK_MARKET_LAST_EXEC_YIELD
        public virtual decimal? MarkMarketLastExecYield { set; get; }
        // MARK_MARKET_QUOTED_DATE
        public virtual DateTime? MarkMarketQuotedDate { set; get; }
        // MARK_MARKET_QUOTED_YIELD
        public virtual decimal? MarkMarketQuotedYield { set; get; }
        // MARK_MARKET_MAX
        public virtual decimal? MarkMarketMax { set; get; }
        // MARK_MARKET_MIN
        public virtual decimal? MarkMarketMin { set; get; }
        // MARK_MARKET_MODEL_YIELD
        public virtual decimal? MarkMarketModelYield { set; get; }
        // MARK_MARKET_STATIC
        public virtual decimal? MarkMarketStatic { set; get; }
        // MARK_MARKET_MARKET_YIELD
        public virtual decimal? MarkMarketMarketYield { set; get; }
        // MARK_MARKET_DM
        public virtual decimal? MarkMarketDm { set; get; }
        // MARK_MARKET_CLEANPRICE
        public virtual decimal? MarkMarketCleanprice { set; get; }
        // MARK_MARKET_AI_PERCENT
        public virtual decimal? MarkMarketAiPercent { set; get; }
        // MARK_MARKET_MODIFIED_DURATION
        public virtual decimal? MarkMarketModifiedDuration { set; get; }
        // MARK_MARKET_CONVEXITY
        public virtual decimal? MarkMarketConvexity { set; get; }
        // MARK_MARKET_PAR
        public virtual int? MarkMarketPar { set; get; }
        // MARK_MARKET_CURRENCY
        public virtual String MarkMarketCurrency { set; get; }
        // MARK_MARKET_REGISTRATION
        public virtual String MarkMarketRegistration { set; get; }
        // MARK_MARKET_INDEX_RATIO
        public virtual decimal? MarkMarketIndexRatio { set; get; }
        // CREATE_USER_ID
        public virtual String CreateUserId { set; get; }
        // CREATE_TS
        public virtual DateTime CreateTs { set; get; }

        #endregion



        public override bool Equals(object obj)
        {
            if (obj == null)
                return false;
            if (obj.GetType() != typeof(MarkMarket) && !(obj is MarkMarket))
                return false;
            return ToString().Equals(obj.ToString());
        }

        public override int GetHashCode()
        {
            return ToString().GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}", MarkMarketId);
        }

    }
}
